/* Generic classes */

body {
	width: 100%;
	height: 100%;
	min-width: 480px;
}

.btn-move {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

dl {
	margin-bottom: 0px !important;
}

dd {
	padding-bottom: 6px;
}

dd:last-child {
	padding-bottom: 0px;
}

.fan-visibility {
	float: right;
}

.fan-override {
	float: left;
}

.flip-x {
	-moz-transform: scaleX(-1);
	-o-transform: scaleX(-1);
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
	filter: FlipH;
	-ms-filter: "FlipH";
}

.flip-y {
	-moz-transform: scaleY(-1);
	-o-transform: scaleY(-1);
	-webkit-transform: scaleY(-1);
	transform: scaleY(-1);
	filter: FlipV;
	-ms-filter: "FlipV";
}

hr {
	margin-top: 5px !important;
	margin-bottom: 5px !important;
}

@-moz-document url-prefix() {
	input[type="checkbox"],
	input[type="radio"] {
		margin-top: 0px;
	}
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	-moz-appearance: none;
	margin: 0;
}
input[type="number"] {
	-moz-appearance: textfield;
}

label {
	font-weight: inherit !important;
}

.no-horizontal-padding {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

.panel-chart {
	padding-top: 0px;
	padding-bottom: 15px;
	padding-left: 15px;
	padding-right: 5px;
}

.panel-heading {
	padding-top: 3px;
	padding-bottom: 3px;
}
.panel-heading > span:not(.label) {
	font-size: 14px;
}

.padding-small {
	padding-left: 8px !important;
	padding-right: 8px !important;
}

.panel-table-container {
	margin: -1px;
}

.rotate-90 {
	transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
}

.rotate-180 {
	transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-o-transform: rotate(180deg);
}

.rotate-270 {
	transform: rotate(270deg);
	-ms-transform: rotate(270deg);
	-moz-transform: rotate(270deg);
	-webkit-transform: rotate(270deg);
	-o-transform: rotate(270deg);
}

.slider .slider-handle {
	background-image: linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);
}

.slider .tooltip-arrow {
	border-top-color: #d9edf7 !important;
}

.slider .tooltip-inner {
	background-color: #d9edf7;
	color: #31708f;
}

.slider.slider-horizontal {
	margin-left:12px;
	margin-right: 12px;
	margin-top: 32px;
	margin-bottom: 6px;
	width: calc(100% - 20px) !important;
}

.table-description {
	width: 100%;
}

.table-description > tbody > tr > td {
	width: 100%;
}

.table-description > tbody > tr > td:first-child {
	padding-right: 12px;
	text-align: right;
	width: auto;
	white-space: nowrap;
}

.table-description > tbody > tr:first-child td {
	padding-top: 0px;
}

.tooltip {
	z-index: inherit !important;
}


/* Navigation bar */

#btn_toggle_sidebar {
	margin-left: 15px;
}

#div_navbar_buttons {
	padding-right: 0px;
}

button.btn-connect,
#div_navbar_buttons > :last-child {
	margin-left: 9px;
}

.gcode {
	display: inline;
	padding-left: 12px !important;
	padding-right: 8px !important;
	vertical-align: middle;
	white-space: nowrap;
}

.gcode span {
	display: inline-block;
	vertical-align: middle;
}

.gcode span.label {
	display: inline-block;
	margin-left: 15px;
}

.navbar {
	margin-bottom: 0px !important;
}

.navbar span.label-status {
	margin-left: 9px;
	margin-top: 16px;
}

.navbar-brand {
	display: flex;
	font-size: 20px;
	margin-left: 0px !important;
	padding-left: 3px !important;
	padding-right: 3px !important;
	padding-top: 15px !important;
}

.navbar-brand > abbr {
	border: 0px;
	margin-left: 9px;
}

.navbar-brand > abbr > span {
	color: #F0AD4E;
}

.navbar-brand > img {
	margin-right: 9px;
}

.navbar-default {
	margin-bottom: 0px;
}

.navbar-collapse {
	padding-left: 0px;
}

.navbar-label {
	margin-left: 0px !important;
	margin-right: 15px !important;
	margin-top: 17px;
	margin-bottom: 13px;
}

.navbar-table td {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

.navbar-table {
	margin-bottom: 0px;
}

.ul-bed-temp a,
.ul-active-temp a,
.ul-standby-temp a {
	text-align: right;
}

.ul-bed-temp,
.ul-active-temp,
.ul-standby-temp {
	min-width: initial;
}


/* Heater and Status elements */

#chart_temp {
	min-height: 50px;
	min-width: 50px;
	height: 200px;
}

#div_tools_heaters input[type="number"] {
	min-width: 50px;
}

#table_extruder_positions td {
	white-space: nowrap;
}

.input-td {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
}

.label-status {
	margin-top: 2px;
}

.panel-status {
	margin-bottom: 12px;
}

.probe-slow-down {
	color:	#FFFFE0;
}

.probe-trigger {
	color: #FFF0F0;
}

#div_info_panels {
	padding-top: 12px;
}

.span-collapse {
	cursor: pointer;
}

#span_mode {
	float: right;
	margin-top: 2px;
}

.table-axis-positions.diabase > tbody > tr:first-child > th:nth-child(2),
.table-axis-positions.diabase > tbody > tr:not(:first-child) > th,
.table-axis-positions.diabase > tbody > tr > td {
	font-size: 30px;
}

.table-axis-positions.diabase > tbody > tr > td {
	padding-right: 15px;
	text-align: right;
}

.table-centered-cells th, .table-centered-cells td {
	text-align: center;
	vertical-align: middle !important;
}

.table-fan-control {
	width: 100%;
}

.table-fan-control tr:first-child > td:first-child,
.table-fan-control tr:not(:first-child) > td:nth-child(2) {
	padding-right: 15px;
}

.table-fan-control tr > td:last-child {
	width: 100%;
}

.table-fan-control tr:not(:last-child) > td:last-child {
	padding-bottom: 9px;
}

#table_tools tr:first-child > th {
	width: 20%;
}
#table_heaters tr:first-child > th {
	width: 25%;
}

#table_tools tr > th:first-child,
#table_heaters tr > th:first-child {
	padding-top: 2px;
	padding-bottom: 3px;
}
#table_tools tr > th > *,
#table_heaters tr > th > * {
	display: block;
}
#table_tools tr > th > span:last-child,
#table_heaters tr > th > span:last-child {
	font-size: 11px;
}

.table-status {
	margin: 0px !important;
	table-layout: fixed;
}

.th-status {
	width: 100px;
}

.heater-0 {
	color: #0000FF !important;
}
.heater-1 {
	color: #FF0000 !important;
}
.heater-2 {
	color: #00CC00 !important;
}
.heater-3 {
	color: #FFA000 !important;
}
.heater-4 {
	color: #FF00FF !important;
}
.heater-5 {
	color: #337AB7 !important;
}
.heater-6 {
	color: #000000 !important;
}
.heater-7 {
	color: #E0E000 !important;
}
.chamber {
	color: #00DCDC !important;
}
.cabinet {
	color: #8b1892 !important;
}
.temp-sensor-0 {
	color: #AEAEAE !important;
}
.temp-sensor-1 {
	color: #BC0000 !important;
}
.temp-sensor-2 {
	color: #00CB00 !important;
}
.temp-sensor-3 {
	color: #0000DC !important;
}
.temp-sensor-4 {
	color: #FEABEF !important;
}
.temp-sensor-5 {
	color: #A0A000 !important;
}
.temp-sensor-6 {
	color: #DDDD00 !important;
}
.temp-sensor-7 {
	color: #00BDBD !important;
}
.temp-sensor-8 {
	color: #CCBBAA !important;
}
.temp-sensor-9 {
	color: #AA00AA !important;
}


/* Static sidebar (for desktops) */

#div_sidebar_overlay {
	min-height: 100vh;
	height: 100%;
	padding-right: 0px;
	position: fixed;
	top: 0px;
	bottom: 0px;
	z-index: -9999;
}

#div_sidebar_overlay > div.well {
	height: 100%;
	margin-bottom: 0px;
}

#div_static_sidebar {
	padding-right: 0px;
}

#div_static_sidebar > div.well {
	padding: 0px;
	margin-bottom: 0px;
	border-bottom: none;
}

.span-refresh-scans,
.span-refresh-files,
.span-refresh-macros,
.span-refresh-filaments {
	position: absolute !important;
	right: 15px;
	top: 12px !important;
}


/* Dynamic sidebar (for mobile devices) */

.slideout-menu {
	position: fixed;
	top: 0;
	bottom: 0;
	width: 220px;
	min-height: 100vh;
	padding: 0px !important;
	margin-bottom: 0px !important;
	-webkit-overflow-scrolling: touch;
	z-index: 0;
	display: none;
}

.slideout-menu h4 {
	margin-left: 15px;
}

.slideout-menu > section {
	margin-bottom: 30px;
}

.slideout-menu-left {
	left: 0;
}

.slideout-menu-right {
	right: 0;
}

.slideout-panel {
	position: relative;
	z-index: 1;
	will-change: transform;
	min-height: 100vh;
}

.slideout-open,
.slideout-open body,
.slideout-open .slideout-panel {
	overflow: hidden;
}

.slideout-open .slideout-menu {
	display: block;
}

#section_actions {
	margin-top: 15px;
}


/* Main content */

#div_content .panel-body {
	padding: 9px !important;
}

#div_content .panel-heading {
	padding-right: 9px !important;
	text-align: center;
}

#main_content,
#div_info_panels,
#div_info_panels > div {
	background-color: inherit;
}

.page {
	display: none;
}

.page.active {
	display: block !important;
}

#panel_macro_buttons h4 {
	margin-top: 15px;
	margin-bottom: 0px;
}


/* Control page */

.atx-control div.btn-group {
	margin-bottom: 9px;
}

#btn_homeall {
	min-width: 82px;
}

.btn-group-vertical-justified {
	display: inline-block;
	width: 100%;
}

#page_control > div > div.col-right:last-child {
	float: right;
}

#panel_control_misc .btn-group label {
	padding-left: 0px;
	padding-right: 0px;
}

#panel_extrude button {
	padding-left: 6px !important;
	padding-right: 6px !important;
}

#panel_extrude .btn-group label.btn {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

#panel_extrude div.panel-body > div:first-child {
	padding-bottom: 9px;
}

#panel_offset button {
	padding-left: 6px !important;
	padding-right: 6px !important;
}

#panel_offset .btn-group label.btn {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

#panel_offset div.panel-body > div:first-child {
	padding-bottom: 9px;
}

.mobile-home-buttons {
	padding-bottom: 9px;
}

#panel_macro_buttons button {
	font-size: 14px;
}

#panel_macro_buttons li {
	text-align: center;
}

.table-move .btn-group {
	padding-bottom: 9px;
}

.table-move a {
	padding-left: 6px;
	padding-right: 6px;
}
.table-move a.btn-home {
	padding-left: 12px;
	padding-right: 12px;
}

.table-move td {
	padding-right: 12px;
	width: 50%;
}

.table-move tr > td:first-child {
	width: auto;
}

.table-move tr > td:last-child {
	padding-right: 0px;
}

#table_move_head tr:last-child div {
	padding-bottom: 0px;
}

tr[data-fan="tool"] > td:first-child > button {
	width: 100%;
}

/* Calibration page (OEM) */

#div_calibration_webcam > div.panel-body {
	position: relative;
}

#ifm_webcam_calibration {
	width: 100%;
	border: 0px;
	overflow: hidden;
}

#img_crosshair {
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

#img_webcam_calibration {
	width: 100%;
}

#page_calibration {
	padding-bottom: 20px;
}

#table_calibration_tools td {
	white-space: nowrap;
}

#table_calibration_tools > thead > tr > th:not(:first-child) {
	text-align: center;
}

#table_calibration_tools > thead > tr > th:last-child {
	width: 1%;
}

#table_calibration_tools > tbody > tr > td:first-child {
	vertical-align: middle;
}

#table_calibration_tools > tbody > tr > td:not(:first-child) {
	text-align: center;
}

#table_calibration_tools > tbody > tr > td:not(:first-child) > span {
	margin-left: 6px;
	margin-right: 6px;
}

.tool-offset-value {
	cursor: pointer;
}

.wcs-cell {
	cursor: pointer;
}

/* Print status page */

#img_webcam {
	width: 100%;
}

#ifm_webcam {
	width: 100%;
	border: 0px;
}

#page_job .checkbox {
	margin-top: 0px;
	margin-bottom: 0px;
}

#page_job .col-left {
	padding-right: 0px;
}

#page_job .slider-container {
	padding-right: 12px;
}

#page_job .progress {
	margin-bottom: 9px;
}

#progress {
	width: 100%;
	font-weight: bold;
}

#label_babystepping {
    width: 100%;
    text-align: center;
    margin-bottom: 0px;
}

.layer-done-animation {
	background-color: #D9EDF7 !important;
	-webkit-transition: background-color 500ms linear;
	-moz-transition: background-color 500ms linear;
	-o-transition: background-color 500ms linear;
	-ms-transition: background-color 500ms linear;
	transition: background-color 500ms linear;
}

#layer_tooltip {
	position: absolute;
	display: none;
	opacity: 0.80;
	z-index: 1;
}

#panel_job_control > div > div.btn-group-justified {
	padding-bottom: 6px;
}

#panel_job_control > div > div.btn-group-justified:last-child {
	padding-bottom: 0px;
}

#panel_job_control .btn {
	padding-left: 0px;
	padding-right: 0px;
}

#btn_baby_up,
#btn_baby_down {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

#div_cancel,
#panel_print_info .row > div:not(:first-child) {
	padding-left: 6px;
}

#panel_print_info table {
	table-layout: fixed;
}
#panel_print_info table th,
#panel_print_info table td {
	text-align: center;
}

#chart_print {
	min-height: 50px;
	min-width: 50px;
	height: 225px;
}

.chart-print-line {
	color: #EDC240;
}
#span_babystepping {
	white-space: nowrap;
}

@media (min-width: 970px) {
	#span_progress_right {
		float: right;
	}
}

#table_estimations {
	table-layout: fixed;
}

/* Scanner */

.scan-move-controls {
	text-align: center;
}

.scan-move-controls > div {
	margin-top: 15px;
}

.scan-move-controls > div:first-child {
	margin-top: 9px;
}

#table_scan_files_directory tr > td {
	width: auto;
	padding-right: 6px;
}

#table_scan_files_directory tr > td:nth-child(2),
#table_scan_files_directory tr > td:nth-child(3) {
	padding-left: 0px;
}

#table_scan_files_directory tr > td:nth-child(4) {
	width: 100%;
	padding-left: 0px;
	padding-right: 0px;
}

#table_scan_files_directory tr > td:last-child {
	padding-left: 6px;
	padding-right: 0px;
}

#table_scan_files button > span {
	padding-top: 6px;
	padding-bottom: 6px;
}

#table_scan_files tr > td {
	padding-top: 4px !important;
	padding-bottom: 4px !important;
	vertical-align: middle !important;
}


#table_scan_files tr > td:nth-child(2) {
	border-right: 0px;
	border-left: 0px;
	width: 1%;
}

#table_scan_files th:first-child {
	width: 97px;
}


/* G-Code console page */

#console_log {
	padding-top: 0px;
	background-color: #eee;
	border: 1px solid #bbb;
	margin-bottom: 15px;
}

#console_log div.row {
	padding-top: 3px !important;
	padding-bottom: 3px;
}

#console_log div.row > div:first-child {
	white-space: nowrap;
}

#page_console form > div {
	padding-left: 0px;
	padding-right: 9px;
}

#page_console form > div:first-child {
	padding-left: 15px;
}

#page_console form > div:last-child {
	padding-right: 15px;
}

#page_console div.row:last-child {
	padding-top: 9px;
}

/* G-Code Files */

.btn-delete-directory {
	float: right;
	margin-right: 8px;
}

#btn_new_gcode_directory span {
	padding-right: 6px;
}

.breadcrumb-directory {
	margin-bottom: 0px !important;
}

.breadcrumb-directory > li:first-child span.glyphicon {
	padding-right: 3px;
}

#page_files h1 {
	margin-bottom: 20px;
}

#ol_gcode_directory {
	margin-bottom: 9px;
}

#ol_gcode_directory > li.pull-right:before {
	content: "";
}

.table-file-navigation {
	width: 100%;
	margin-bottom: 9px;
}

.table-file-navigation td:first-child {
	width: 100%;
}

.table-file-navigation td:not(:first-child) {
	padding-left: 6px;
}

.table-files {
	margin-bottom: 15px;
}

.table-files > tbody > tr > td:first-child > input[type="checkbox"] {
	margin-right: 8px;
}

.table-files tr > td:first-child {
	border-right: 0px;
	padding-right: 0px;
	width: 1%;
}

.table-files a > span.glyphicon {
	padding-right: 6px;
}

#table_gcode_files_directory tr > td:first-child {
	width: auto;
	padding-right: 6px;
}

#table_gcode_files_directory tr > td:nth-child(2) {
	padding-left: 0px;
	width: 100%;
}

/* Macros Page */

#btn_new_macro_directory span {
	padding-right: 6px;
}

#page_macros ol .pull-right:before {
	content: "";
}

/* Settings Page */

#btn_clear_cache {
	width: 100%;
}

#page_tools button,
#btn_add_gcode,
.machine-button {
	margin-top: 9px;
}

#btn_add_tool {
	margin-top: 25px !important;
	width: 100%;
}

.machine-button {
	padding-left: 4px;
	padding-right: 4px;
	width: 100%;
}

#check_heaters > label:first-child {
	padding: 6px;
}

#div_fan_settings div.checkbox {
	margin-top: 0px;
	margin-bottom: 0px;
}

#div_fan_settings > div {
	padding-right: 0px;
}

label[for="dropdown_language"] {
	margin-right: 6px;
}

#frm_settings li.open li > a {
	height: 40px;
	padding-top: 10px;
}

#div_show_empty_responses {
	margin-bottom: 5px;
}

#panel_head_temps > div > label:first-child {
	display: block;
}
#panel_head_temps > div > div.radio {
	display: inline-block;
	margin: 0px;
	margin-bottom: 9px;
	width: 49%;
}

#panel_tool_changes div.checkbox {
	margin-top: 0px;
	margin-bottom: 0px;
}

#software_info {
	margin-bottom: 7px;
}
#software_info tr * {
	padding-bottom: 8px;
}

#software_info tr > td {
	padding-left: 15px;
}

#p_uploadinfo {
	margin-top: 15px;
	margin-bottom: 0px;
}

#page_display button.btn-upload {
	margin-bottom: 15px;
}

#page_settings {
	padding-bottom: 15px;
}

#page_settings div.panel-body > div.checkbox:first-child {
	margin-top: 0px;
}

#page_settings div.panel-body > div.checkbox:last-child {
	margin-bottom: 0px;
}

#page_settings div.panel-body > label {
	margin-bottom: 3px;
}
#page_settings div.panel-body > label:not(:first-child) {
	margin-top: 6px;
}

#page_sysedit,
#page_display {
	margin: -15px;
}

#page_sysedit button.btn-upload,
#page_display button.btn-upload {
	margin-bottom: 30px;
}

.tab-content {
	border: 1px solid #ddd;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-right-width: 1px;
	border-top-width: 0px;
	padding: 15px;
	padding-bottom: 0px !important;
	margin-bottom: 15px;
}

.table-add-temp td:first-child {
	padding-right: 9px;
	width: 100%;
}

.table-add-temp .input-group {
	width: 100%;
}

.table-add-temp td:last-child {
	width: auto;
	vertical-align: bottom;
}

#table_add_gcode {
	width: 100%;
}

#table_gcodes {
	margin-bottom: 0px;
	max-height: 340px;
	overflow-y: auto;
	display: block;
}

#table_add_gcode td:first-child,
#table_gcodes tr > th:first-child {
	vertical-align: middle;
	width: 100%;
}

#table_add_gcode td:first-child {
	padding-right: 9px;
}

#table_add_gcode td:nth-child(2),
#table_gcodes > thead > tr > th:last-child {
	padding: 6px;
	width: auto;
}

.temp-list > li {
	line-height: 30px;
	vertical-align: middle;
	padding: 6px;
}

#page_sysedit h1,
#page_display h1 {
	margin-bottom: 20px;
}

#ol_sys_directory,
#ol_display_directory {
	margin-left: 1px;
	margin-right: 1px;
	margin-top: 1px;
	margin-bottom: 0px;
}

#ol_sys_directory .pull-right:before,
#ol_display_directory .pull-right:before {
	content: "";
}

#ul_control_dropdown_tools,
#ul_control_dropdown_heaters {
	padding: 5px;
}

#ul_control_dropdown_tools > li > a,
#ul_control_dropdown_heaters > li > a {
	padding-left: 6px;
	padding-right: 6px;
}

#ul_control_dropdown_tools > li:not(:first-child),
#ul_control_dropdown_heaters > li:not(:first-child) {
	padding-top: 5px;
}

/* Modals */

#modal_bed div.modal-footer > .pull-left {
	margin-right: 9px;
}

#modal_change_step div.input-group {
	margin-bottom: 15px;
}

#modal_reconnecting {
  text-align: center;
  padding: 0!important;
}

#modal_reconnecting:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -4px; /* Adjusts for spacing */
}

#modal_reconnecting > .modal-dialog {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
}

#modal_textinput div.input-group {
	width: 100%;
}

#table_upload_files {
	width: 100%;
}
#table_upload_files .progress {
	margin-top: 8px;
	margin-bottom: 8px;
}
#table_upload_files td {
	vertical-align: middle;
}
#modal_edit > div {
	width: calc(100vw - 60px);
}

#modal_edit > div > div,
#modal_bed > div > div {
	height: calc(100vh - 60px);
}

.msgbox-x,
.msgbox-y,
.msgbox-z,
.msgbox-a {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

#text_edit {
	font-family: monospace;
	height: 100%;
	width: 100%;
	resize: none;
}

#modal_bed > div > div.modal-content {
	min-height: 400px;
}

#div_visualization {
	margin-bottom: 15px;
	padding-right: 0px;
}

#div_visualization_placeholder,
#div_legend {
	margin-bottom: 15px;
}

#div_visualization_placeholder > div {
	background-color: black;
	color: white;
}

#div_visualization_placeholder h3 {
	display: inline-block;
	vertical-align: middle;
}

#div_visualization > div.tooltip {
	pointer-events: none;
}

#div_legend {
	padding-left: 0px;
}

#canvas_legend {
	width: 100%;
}

#row_stats div > p:last-child {
	margin-bottom: 0px;
}

#btn_top_view {
	margin-top: 9px;
}

#progress_scan,
#progress_scan_postprocessing,
#progress_scan_upload,
#progress_calibration {
	min-width: 2em;
}

#modal_start_scan h4:first-child {
	margin-top: 0px;
}

#modal_start_scan .description {
	margin-left: 20px;
	width: calc(100% - 20px);
}

#modal_start_scan .description:not(:last-child) {
	margin-bottom: 20px;
}

#modal_start_scan .description > input,
#btn_toggle_laser {
	width: 100%;
}

#modal_messagebox div {
	text-align: center;
}

#h3_messagebox {
	margin-bottom: 20px;
}

#div_x_controls,
#div_y_controls,
#div_z_controls {
	margin-top: 20px;
}

#div_mesh_y {
	margin-top: 15px;
}


/* Popovers */

.popover-content {
	padding: 6px;
}


/* Context menus */

#ul_file_contextmenu {
	position: absolute;
	display: none;
}
